package com.zxy.ziems.server.device.service;

import com.zxy.ziems.server.device.pojo.dto.DeviceDTO;
import com.zxy.ziems.server.device.pojo.entity.DeviceEntity;

/**
 * 设备的额外信息处理
 * @author chdzq
 * @create 2023/4/10
 */
public interface DeviceExtraProcessor {

    /**
     * 是否处理改设备类型的额外信息
     * @param deviceType
     * @return
     */
    default Boolean supportBy(String deviceType) {return Boolean.FALSE;}

    /**
     * 增加
     * @param dto
     */
    void doAddDevice(DeviceDTO dto, DeviceEntity deviceEntity);

    /**
     * 更新
     * @param dto
     */
    void doUpdateDevice(DeviceDTO dto, DeviceEntity deviceEntity);

    /**
     * 删除
     * @param id
     */
    void doRemoveDevice(String id);


    /**
     * 获取额外信息
     * @param id 设备ID
     */
    Object doGetExtra(String id);
}
